<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>29.方法重写与父级属性访问</title>
</head>

<body>

</body>

<script>
  function User () { }
  User.prototype.show = function() {
    console.log("user.name");
  }
  User.prototype.site = function() {
    console.log("houdunren.com");
  }

  function Admin() {}
  // 原型指向 User.prototype
  Admin.prototype = Object.create(User.prototype);
  Admin.prototype.constructor = Admin;
  let hd = new Admin();
  // 默认可以使用 User 原型的 show 方法
  // 在构造函数上定义同名方法，会覆盖Admin.prototype的原型的同名方法
  Admin.prototype.show = function() {
    // 在这里依然可以调用原型中的方法来协助完成功能
    Admin.prototype.site();
  }
  hd.show();
</script>

</html>